Data handling system and method therefor

ABSTRACT

A data handling system comprising a terminal ( 122 ) and a communications network ( 100 ), the terminal ( 122 ) being capable of communicating with the communications network ( 100 ), the network ( 100 ) comprising a host platform ( 124 ) for receiving an agent ( 30 ) associated with the terminal ( 122 ), the agent ( 130 ) being adapted to communicate, at the platform ( 124 ), with the at least one other agent.

FIELD OF THE INVENTION

The present invention relates to a data handling system for use in acommunications system, for example, a cellular telecommunicationssystem, such as a Global System for Mobile communications (GSM) system.The present invention also relates to a method of handling data for thedata handling system.

BACKGROUND OF THE INVENTION

In a communications system a mobile station (MS) possesses a quantity ofinformation, for example, information relating to services available,link quality, interference levels, remaining cell capacity, informationabout the surrounding or local environment. However, this informationmay be of use to other mobile stations.

For example, a traveller owning the MS can be travelling along amotorway. Unbeknown to the traveller, a traffic jam may exist ahead ofthe traveller as a result of a road accident. Owners of the other mobilestations already forming part of or approaching the traffic jam are inpossession of information indicative of the presence and location of thetraffic jam. However, the owner of the MS is unable to detect thetraffic jam and take action to avoid it.

A system already exists which is capable of warning the owner of the MSof the existence of traffic jams, but requires that the owner of the MSpurchases additional hardware, which represents an increased cost to thesubscriber.

Another example where the availability of more information to asubscriber would be beneficial is when a subscriber switches on the MSwhere more than one telecommunications system supports an area outsidethat of the MS's local environment, for example at an airport. In suchcircumstances, the MS usually registers with the network currentlyexhibiting the greatest signal strength and takes no account of anyother requirements that the subscriber might have, for example, servicecapabilities or call charge constraints.

It is therefore an object of the present invention to obviate, or atleast mitigate, the above described problems.

SUMMARY OF THE INVENTION

According to the present invention, there is provided a data handlingsystem comprising a terminal and a communications network, the terminalbeing capable of communicating with the communications network, thenetwork comprising a host platform for receiving an agent associatedwith the terminal, the agent being adapted to communicate, at theplatform, with the at least one other agent.

It is thus possible to provide a communications network having agentcapabilities which, additionally, can facilitate a subscriber's abilityto detect traffic jams and identify a most suitable local communicationsnetwork.

According to the present invention, there is also provided a method ofhandling data in a system comprising a terminal and a communicationsnetwork, the terminal being capable of communicating with thecommunications network, the method comprising the steps of: providing ahost platform for receiving an agent associated with the terminal,permitting, at the host platform, communication between the agent and atleast one other agent.

Other, preferred, features and advantages will become apparent from theaccompanying description and appended dependent claims.

BRIEF DESCRIPTION OF THE DRAWINGS

At least one embodiment of the invention will now be described, by wayof example, with reference to the accompanying drawings, in which:

FIG. 1 is a schematic diagram of a system constituting an embodiment ofthe invention;

FIG. 2 is a flow diagram of a method for use with the system of FIG. 1;

FIG. 3 is a flow diagram of an additional method for use with the systemof FIG. 1;

FIG. 4 is a schematic diagram of an example constituting a furtherembodiment of the present invention;

FIG. 5 is a schematic diagram of a further example of constitutinganother embodiment of the present invention, and

FIG. 6 is a schematic diagram of an agent system for the embodiment ofFIG. 1.

DESCRIPTION OF A PREFERRED EMBODIMENT

A telecommunications network, for example a GSM telephone network 100,comprises a first cell 102, a second cell 104 and a third cell 106respectively supported by a first base station 108 having a first BaseStation Controller (BSC) 114, a second base station 110 having a secondBSC 116, and a third base station 112 having a third BSC 118.

The first, second and third BSCs 114, 116, 118 are coupled to a MobileSwitching Centre 120 according to any method known in the art.

For the purpose of simplicity and clarity of description, the foregoingexample will be described with reference to a single mobile terminal122, for example a StarTAC® telephone manufactured by Motorola Limited,located within the first cell 102 and capable of communicating with thefirst base station 108. However, it should be appreciated that more thanone mobile terminal can be provided, capable of operating in any of thefirst, second or third cells 102, 104, 106.

The mobile terminal 122 is capable of sending a first agent 130, forexample an intelligent software agent. The agent is an independent pieceof mobile software code capable of migrating from one platform toanother platform and is capable of controlling itself through anexecution thread and can perform tasks of its own accord. The purpose ofthe agent is to transfer and receive information as well as executetasks. The first agent 130 represents the mobile terminal 122 and is,for example, a Java™ applet.

Pieces of existing software code can be encapsulated by or embedded inthe first agent 130 and can be specific to the mobile terminal 122. Itis thus possible to execute any kind of user-defined function on datagathered by the first agent 130 or provide services offered by existingservice providers, for example, stock exchange fluctuation updates orbank account monitoring.

The first, second and third BSCs 114, 116, 118 comprise a respectivefirst, second and third host platform or Agent Meeting Place (AMP) 124,126, 128. Preferably, an AMP should be provided at each of the first,second and third BSCs 114, 116, 118, but it is not essential to providethe AMP at each of the first, second and third BSCs 114, 116, 118.

In the above and future examples, the AMP has been located at the BSC.However, the AMP can be located elsewhere, for example, at the MobileSwitching Centre (MSC).

The first, second and third AMPs 124, 126, 128 are Agent Systems whichcan create, interpret, execute and transfer agents. Examples of suitableagent systems are those defined by the Foundation for IntelligentPhysical Agents (FIPA) and the Mobile Agent Facility Specification ofthe Object Management Group (MAF-OMG). Agent systems provide securityfunctions, for example authentication and information confidentialityfunctions, such as, data encryption.

The first, second and third AMPs 124, 126, 128 are supported by asupporting platform, for example, UNIX or Windows NT) running on aPersonal Computer (PC) at each of the first, second and third BSCs 114,116, 118. It should be noted that a given host platform can support morethan one AMP.

The first, second and third AMPs 124, 126, 128 have the structure shownin FIG. 6. The first, second and third AMPs 124, 126, 128 comprise ayellow pages service 602, a white pages service 604, a unique namingservice, a management system 606 that controls the life-cycle andmobility of the first agent 130 and a transparent communications service608. Optionally, the first, second or third AMPs 124, 126, 128 canprovide a database facility 610 to store data intended to stay on theAMP platform permanently, even after de-registration of the first agent414. Communications between the yellow pages service 602, the whitepages service 604, the management system 606, the transparentcommunications service 608, or the database facility 610 can be achievedby providing a respective agent for each of the services or facility.Alternatively, the yellow pages service 602, the white pages service604, the management system 606, the transparent communications service608, or the database facility 610 can be a dedicated agent containingthe data stored by the yellow pages service 602, the white pages service604, the management system 606, the transparent communications service608, or the database facility 610, respectively. The yellow pagesservice is a service provided to any agent, by the first, second, orthird AMP 124, 126, 128 for looking-up services provided by other agentsresiding locally at the respective AMP. The yellow pages service canoptionally search all agent systems forming an agent community. Thewhite pages service is a service which covers all agents which arecurrently resident on the AMP where the white pages service is located,i.e. locally, for determining the existence of another agent locally.

The addresses of the first, second and third AMPs 124, 126, 128 can be,for example, a phone number or a TCP/IP address and can be known bymeans of the yellow pages service. A default AMP address is assigned toeach agent in order to ensure an initial inter-agent communications canbe set up. AMPs can communicate with other AMPs or other agent systemsto exchange messages or agents via the transparent communicationsservice 608.

The migration-cycle of a first agent 130 will now be described withreference to FIG. 2.

The first agent 130 calls a toll-free number, and establishes a GSM linkbetween the mobile terminal 122 and the first AMP 124. The first agent130 is written, for example, in an aglet language produced by IBM. Themigration of the first agent 130, in the aglet language, will now bedescribed in accordance with the steps shown in FIG. 3.

The first agent 130 resides (step 300) in a memory (not shown) of themobile terminal 122 on an aglet platform. The first agent 130 istranslated through Java on the mobile terminal 122 (step 302) and thenserialised (step 304) through the underlying Java layers. The firstagent 130 is then transmitted (step 306) to the AMP The first agent 130is sent, using a TCP/IP protocol known in the art, in packets, using aGeneral Packet Radio Service (GPRS).

Once received, the first agent 130 is then deserialised (step 308),translated back (step 310) through the underlying Java at the first AMP124 and then reverts to aglet form (step 312). Referring to FIG. 2,access (step 200) to the first AMP 124 is thereby achieved.

The first agent 130 then registers (step 202) to the first AMP 124, inorder to register to the yellow pages service, the white pages serviceand the agent management system of the first AMP 124. The registrationprocedure uses the security functions defined by the service provider,i.e. authentication and information security mentioned above.Consequently, the first agent 130 becomes known and accessible to anyother agents present at the first AMP 124.

During the registration procedure (step 202), the first agent 130 canalso provide information, for example, current information about themobile terminal 122 represented by the first agent 130. The currentinformation about the mobile terminal 122 can include the servicescapabilities of the mobile terminal 122, for example, third partycalling or conference calling, the radio link quality, bit rate, ormaximum bit error rate. The current information can be stored in thedatabase facility of the first AMP 124 by the database agent.

The first agent 130 then executes an assigned task or mission (step204). The assigned task or mission can be a dialogue between the firstagent 130 and any other agent residing at the first AMP 124 and/or areferral to the database facility of the first AMP 124. Thecommunication protocol between agents is provided by the first AMP 124,as specified by FIPA Agent Communication Language (ACL). The assignedtask can also be the execution of agent code on the first AMP 124, forexample, the performance of functions, such as on data. The execution ofagent code therefore allows functions to be carried out so as tomanipulate the information or data gathered at the first AMP 124.

If necessary, information is sent back to the mobile terminal 122 (step206). At any time whilst the first agent 130 resides at the first AMP124, the first agent 130 can send messages to the mobile terminal 122.This information is sent back via a Short Messaging Service (SMS). Also,at any time whilst the first agent 130 resides at the first AMP 124, amessage can be sent to the first agent 130 from the mobile terminal 122in order to update the first agent 130. This can be achieved via thetoll-free number or by using the TCP/IP protocol as described above. Thestructure of the message is defined by various standards bodies, forexample, FIPA or MAF-OMG, or by proprietary technology such as Aglets byIBM. The information to update the first agent 130 can be routed to thefirst agent 130 by means of addressing techniques known in the art,since the first agent 130 and any other agents resident at the first AMP124 possess specific ID numbers associated with the agents assigned bythe unique naming service as described above.

The first agent 130 then de-registers (step 208) from the first AMP 124.De-registration from the first AMP 124 removes all the references to thefirst agent 130 from the unique naming service, the yellow pagesservice, and the white pages service. However, the references to thefirst agent 130 in the database facility of the first AMP 124 are notremoved.

The first agent 130 is then either killed or can migrate to another AMPor back to the mobile terminal 122.

Specific applications of the above described technique will now bedescribed with reference to FIGS. 4 and 5.

A first vehicle 400 is travelling along a motorway 402 located withinthe second cell 104 (FIG. 1). The motorway has a slip-lane 404 forleaving the motorway 402 before a traffic jam 406, caused by a roadaccident 408, is reached by the first vehicle 400. The vehiclescomprising the traffic jam include a second vehicle 410. A third vehicle412 is also approaching the traffic jam 406 at a reduced speed. Thefirst, second and third vehicles 400, 410, 412 are each equipped with arespective first, second and third mobile terminal (not shown) capableof generating a respective first, second and third agent 414, 416, 418.

The first base station controller 116 is coupled to the second basestation 110 which is in communication with the first, second and thirdvehicles 400, 410, 412.

The first, second and third mobile terminals are capable of respectivelydetermining speed and direction, for example, by being equipped with orcoupled to a respective Global Positioning System (GPS) unit. It is thuspossible for the first, second and third agents 414, 416, 418 to storeinformation relating to the speed and direction of the first, second andthird mobile terminals, respectively.

As the first vehicle 400 travelled along the motorway 402, the firstvehicle 400 entered the coverage area of a new cell (in this case thesecond cell 104) and left the coverage area of an existing cell throughwhich the first vehicle 400 was driving. Thus, it was necessary for thefirst mobile terminal to register with the second BSC 116 andde-register from the BSC of the existing cell, according to any knownhandover technique known in the art. When the first mobile terminalregisters with the second BSC 116, or if the second BSC 116 is theinitial BSC with which the first mobile terminal registers upon beingpowered-up, the first agent 414 is transmitted (step 200) to the secondAMP 116 in accordance with the method already described above.

The same procedure is followed by the second and third agents 416, 418associated with the second and third vehicles 410, 412, respectively. Inthis example, it is assumed that the second and third agents 416, 418have already registered with the second AMP 126.

The first agent 414 then registers (step 202) with the second AMP 126,and provides information to the second AMP 126, for example, the ID ofthe first agent 414, as well as radio parameters, such as bit rate orlevel of interference, and the network to which the first mobileterminal is subscribed.

The first agent 414 then access the database facility of the second AMP126 and exchanges information with the second and third agents 416, 418already present at the second AMP 126. The first agent 414 then firstlyanalyses the directional information provided by the second and thirdagents 416, 418 to ascertain whether the second and third vehicles 410,412 to which they correspond are travelling or heading in substantiallythe same direction of the first vehicle. If the direction of the secondand third vehicles 410, 412 is substantially the same direction of thefirst vehicle, the speed information relating to the second and thirdvehicles 410, 412 is analysed. The fact that the second vehicle 410 isstationary and the third vehicle is moving at the reduced speedindicates the existence of, and approximate distance from the firstvehicle 400, of the traffic jam 406.

A message is therefore transmitted (step 206) by the first agent 414 tothe first mobile terminal in order to alert the driver of the firstvehicle 400 of the existence of the traffic jam 406. The message can betransmitted using a messaging service supported by the network to whichthe first mobile terminal is subscribed, for example, paging or SMS. Thedriver of the first vehicle 400 can then take appropriate action inorder to avoid the traffic jam 406, for example, by leaving the motorway402 via the slip-road 404. The first agent 414 can also be provided withadditional functionality in order to determine alternative routes forthe driver of the first vehicle 400.

When the first mobile terminal has to hand-off from the second BSC 116,the first mobile terminal sends a message to the first agent 414,instructing the first agent to de-register (step 208) from the secondAMP 126.

The above described process can then be repeated upon registration withanother new cell.

In an alternative example, instead of the first terminal transmittingthe first agent 414 to the second BSC 116 for registration with thesecond AMP 126, the first agent 414 can reside in a Home LocationRegister (HLR) 420.

When the first mobile terminal registers with the network to which it issubscribed, the second BSC 116 indicates to the HLR 420 that the firstmobile terminal has registered and the first agent 414 is transmitted toa local BSC, for example, the second BSC 116 from the HLR 420. With eachcell hand-off, the first agent 414 automatically migrates to the newBSC, registers with the new BSC and de-registers form the old BSC aspart of the hand-off procedure. The remaining procedures carried out bythe first agent 414 is the same as in previous example. It is alsoconceivable that the second or third mobile terminals and associatedsecond or third agents 416, 418 employ the same technique of beingresident in the HLR 400.

It is thus possible to embed the registration and de-registration of thefirst agent in the existing hand-off mechanisms of the network 100.Therefore, the air interface is only used to transmit messages betweenthe first mobile terminal and the second AMP 126; this reduces the drainon network resources.

Additionally, since the second AMP 126 is also capable of communicatingwith other agent systems, the second AMP 126 can access existing roadtraffic services and/or exchange information with the other agentsystems.

In another example of the present invention, agents can be used toidentify a network best suited to a subscriber when travelling abroad.

A travelling mobile terminal 500 subscribes to a home network in a firstcountry 502, for example, the United Kingdom. A home AMP 504 is coupledto a first Public Switched Telecommunications Network (PSTN) 506 in thefirst country 502. A first visiting network in a second country 508, forexample France, comprises a first visiting base station including afirst visiting BSC 510. The first visiting BSC 510 is coupled to asecond PSTN 512 which is coupled to the first PSTN 506 according to anytechnique known in the art, for example, a satellite link or sub-marinefibre-optic link 514. The first visiting BSC 510 is also coupled to alocal AMP 516.

A second visiting network having a second visiting base stationincluding a second visiting BSC 518 is also located in the secondcountry 508. The second visiting network offers better services and/orcall tariffs as compared with the first visiting network. However, thesubscriber of the travelling mobile terminal 500 is not aware of thisfact.

When arriving in the second country 508 from the first country 502, forexample, at an airport 520, the travelling mobile terminal 500 ispowered-up. In accordance with techniques known in the art, thetravelling mobile terminal 500 searches for the visiting network able toprovide the best signal strength at the current location of thetravelling mobile terminal 500. The travelling mobile terminal 500registers with the network identified as having the best signalstrength. In this example, the first visiting network is able to providethe best signal strength. The travelling mobile terminal 500 thereforecommunicates with the first visiting BSC 510 and registers with thefirst visiting network. The travelling mobile terminal 500 sends atravelling agent in the same manner as already described above; thetravelling agent possesses information about the preferences of thesubscriber of the travelling mobile terminal 500.

The travelling agent registers (FIG. 2) with the local AMP 516 (step202) and consults the database facility and/or the yellow pages serviceof the local AMP 516 in order to evaluate the available visitingnetworks according to the preferences of the subscriber. The travellingagent then selects the most appropriate visiting network, in this casethe second visiting network, and transmits this information in the formof a message transmitted back to the subscriber (step 206) via thetravelling mobile terminal 500.

The travelling agent then de-registers from the local AMP 516 (step 208)and the travelling mobile terminal 500 de-registers from the firstvisiting network and registers with the, preferred, second visitingnetwork via the second visiting BSC 518.

The travelling agent can also be stored at the home AMP 504. In such ascenario, the travelling agent is sent from the home AMP 504 to thelocal AMP 516 via the first PSTN 506, the fibre-optic link 514, thesecond PSTN 512 and the first visiting BSC 510.

What is claimed is:
 1. A data handling system comprising a mobilewireless communication terminal and a communications network including aplurality of base stations and corresponding base station controllers,the mobile terminal being capable of communicating with thecommunications network over wireless links through a local one of saidbase stations, the network comprising a plurality of host platformsassociated with respective ones of said base station controllers forreceiving an agent associated with the mobile terminal, said mobileterminal comprising agent generating means for generating an associatedagent, said agent comprising an independent piece of itinerant softwarecode capable of migrating from one platform to another platform, capableof controlling itself through an execution thread and capable ofperforming tasks of its own accord, said agent being adapted to exchangedata at said local host platform with at least one other agent and tocommunicate the data exchanged with said mobile terminal over saidwireless links.
 2. A system as claimed in claim 1, wherein the dataexchanged is transmitted from said agent to the mobile terminal by meansof a messaging service of the communications network.
 3. A system asclaimed in claim 1, wherein the mobile terminal is arranged to hand-offbetween cells within the communications network having respective basestation controllers, the agent of the mobile terminal being adapted toregister to a new host platform associated with a new base stationcontroller associated with the new host platform upon registration to anew Base Station Controller.
 4. A system as claimed in claim 1, whereinsaid agent is arranged to identify a second, similar, agent amongst theat least one other agent associated with another mobile terminal havingsubstantially the same direction of travel, and to exchange data at saidlocal host platform with said second agent and to communicate the datawith its associated mobile terminal.
 5. A system as claimed in claim 4,wherein the second agent resides at the host platform associated withthe same base station controller as the first said agent.
 6. A system asclaimed in claim 1, wherein the host platforms comprise Agent MeetingPlace databases for providing information to said agent as to otheragents currently resident at the corresponding host platforms.
 7. Asystem as claimed in claim 6, wherein the host platforms comprisedatabase agents for interfacing between the first said agent and thedatabases.
 8. A system as claimed in claim 6, wherein the agent isadapted to de-register from the platform under predeterminedcircumstances while leaving information on the database.
 9. A method ofhandling data in a system comprising a mobile wireless communicationterminal and a communications network including a plurality of basestations and corresponding base station controllers, the mobile terminalcommunicating with the communications network over wireless linksthrough a local one of said base stations, the system including aplurality of host platforms associated with respective ones of said basestation controllers for receiving an agent associated with the mobileterminal, said agent comprising an independent piece of itinerantsoftware code capable of migrating from one platform to anotherplatform, capable of controlling itself through an execution thread andcapable of performing tasks of its own accord, and said agent exchangingdata at said local host platform with at least one other agent andcommunicating the data exchanged with said mobile terminal over saidwireless links.